/*++

Copyright (c) 1990-1998 Microsoft Corporation, All Rights Reserved

Module Name:

    PROCESS.C
    
++*/

/**********************************************************************/
/* These tables are for ImeProcessKey(). And IMEProcessKey function   */
/* refer this table and deside the VKey is needed for FAKEIME or not. */
/*                                                                    */
/**********************************************************************/
#include "windows.h"


BYTE bNoComp[] = {      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 10-1F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 20-2F
                        1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,        // 30-3F
                        0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 40-4F
                        1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,        // 50-5F
                        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 60-6F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 70-7F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 80-8F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 90-9F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // A0-AF
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // B0-BF
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // C0-CF
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // D0-DF
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // E0-EF
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       // F0-FF

BYTE bNoCompCtl[] = {   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 10-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 20-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 30-0F
                        0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,        // 40-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 50-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 60-0F
                        0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,        // 70-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 80-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 90-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // A0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // B0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // C0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // D0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // E0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       // F0-0F

BYTE bNoCompSht[] = {   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 10-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 20-0F
                        1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,        // 30-0F
                        0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 40-0F
                        1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,        // 50-0F
                        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 60-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 70-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 80-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 90-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // A0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // B0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // C0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // D0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // E0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       // F0-0F
        
BYTE bNoCompAlt[] = {   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 10-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 20-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 30-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 40-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 50-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 60-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 70-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 80-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 90-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // A0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // B0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // C0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // D0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // E0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       // F0-0F

BYTE bComp[] = {        0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,        // 10-0F
                        1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,        // 20-0F
                        1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,        // 30-0F
                        0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 40-0F
                        1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,        // 50-0F
                        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 60-0F
                        0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,        // 70-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 80-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 90-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // A0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // B0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // C0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // D0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // E0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       // F0-0F

BYTE bCompCtl[] = {     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 10-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 20-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 30-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 40-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 50-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 60-0F
                        0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,        // 70-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 80-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 90-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // A0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // B0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // C0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // D0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // E0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       // F0-0F

BYTE bCompSht[] = {     0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,        // 10-0F
                        1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,        // 20-0F
                        1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,        // 30-0F
                        0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 40-0F
                        1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,        // 50-0F
                        1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,        // 60-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 70-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 80-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 90-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // A0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // B0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // C0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // D0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // E0-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       // F0-0F

BYTE bCompAlt[] = {     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,        // 00-0F
                        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};        // 00-0F




